import {PropType, inject} from 'vue';
import { KuiIconsProps } from './type';
import { configProviderInjectionKey } from '../kui-config-provider/type';

export default {
	/**
	 * 图标图案
	 */
	type: {
		type: String,
		default: ''
	},
	/**
	 * 图标大小
	 */
	size: {
		type: Number,
		default: 30
	},
	/**
	 * 图标颜色
	 */
	color: {
		type: String,
		default: ''
	},
	/**
	 * 图标粗细
	 */
	weight: {
		type: Number,
		default: 100
	},
	/**
	 * 页面模式
	 */
	mode: {
		type: String as PropType<KuiIconsProps['mode']>,
		default: () => inject(configProviderInjectionKey, undefined)?.mode ?? 'light'
	},
	/**
	 * 图标平台
	 */
	prefix: {
		type: String as PropType<KuiIconsProps['prefix']>,
		default: 'ico' as KuiIconsProps['prefix']
	},
	/**
	 * 图标内容
	 */
	content: {
		type: String,
		default: ''
	},
	/**
	 * top相对位置
	 */
	top: {
		type: Number,
		default: 0
	},
	/**
	 * left 相对位置
	 */
	left: {
		type: Number,
		default: 0
	},
	/**
	 * @zh 图标主题
	 */
	theme: {
		type: String,
		default: ''
	}
}